#!/bin/bash

# ================== 配置区域（按需修改） ==================
# Jar包完整路径（打包后实际路径）
JAR_PATH="/home/javaPackage/code/target/baoyouqun-0.0.9-SNAPSHOT.jar"
# 日志输出路径（与Jar包同目录，也可自定义）
LOG_PATH="/home/javaPackage/code/target/baoyouqun.log"
# JVM内存/编码参数（可根据服务器资源调整）
JVM_OPTS="-Xms8g -Xmx8g -Dfile.encoding=UTF-8"
# =========================================================

echo "===== 服务重启开始 [$(date '+%Y-%m-%d %H:%M:%S')] ====="

# 1. 查找并停止旧Java进程（精确匹配Jar包路径，避免误杀）
echo "→ 步骤1：查找并终止旧进程..."
PID=$(ps -ef | grep "$JAR_PATH" | grep -v "grep" | awk '{print $2}')

if [ -n "$PID" ]; then
    echo "  发现旧进程，PID: $PID"
    kill -9 $PID
    echo "  旧进程已强制终止"
else
    echo "  未找到目标Jar包的运行进程，无需终止"
fi

# 2. 后台启动新Jar服务（日志重定向到指定文件）
echo "→ 步骤2：启动新服务..."
nohup java $JVM_OPTS -jar "$JAR_PATH" > "$LOG_PATH" 2>&1 &

# 打印后台进程ID（便于后续管理）
echo "  新服务已启动，后台进程ID: $!"

# 3. 实时跟踪日志（等待1秒确保日志文件生成）
echo "→ 步骤3：实时查看日志..."
sleep 1
tail -f "$LOG_PATH"